package com.pyl.admin.system.service;

import com.pyl.admin.core.enums.StatusEnum;
import com.pyl.admin.system.entity.SysMenu;
import com.pyl.admin.system.validator.MenuForm;

import java.util.List;

import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 灵魂贰婶
 * @since 2019-06-28
 */
public interface SysMenuService extends IService<SysMenu> {

	/**
	 * 根据条件查询所有菜单数据
	 * 
	 * @param query
	 * @param status
	 * @return
	 */
	List<SysMenu> selectMenuList(String query, Integer status);

	/**
	 * 排序菜单列表
	 * 
	 * @param pid
	 * @param notId
	 * @return
	 */
	List<SysMenu> selectByPid(Long pid, Long notId);

	/**
	 * 根据pid获取最大排序
	 * 
	 * @param pid
	 * @return
	 */
	Integer selectSortMax(Long pid);

	/**
	 * 修改数据状态
	 * 
	 * @param statusEnum
	 * @param idList
	 * @return
	 */
	boolean updateStatus(StatusEnum statusEnum, List<Long> idList);

	/**
	 * 保存或修改菜单信息
	 * 
	 * @param menuForm
	 * @return
	 */
	boolean saveOrUpdate(MenuForm menuForm);

}
